<?php 

function getParam($name){
    $value = isset($_GET[$name])?trim($_GET[$name]):"";
    $value = str_replace("'","''",$value);
    return $value;
}

$pageIndex= isset($_GET["pageIndex"])?trim($_GET["pageIndex"]):1;
if($pageIndex<1) $pageIndex=1;
$pageSize= isset($_GET["pageSize"])?trim($_GET["pageSize"]):5;
if($pageSize<1) $pageSize=5;

$where = "";
$queryTitle = getParam("Title");
if($queryTitle){
    if($where) $where .= " AND ";
    $where .= " `Title` like ('%$queryTitle%')";
}

$queryAuthor = getParam("Author");
if($queryAuthor){
    if($where) $where .= " AND ";
    $where .= " `AuthorName` like ('%$queryAuthor%')";
}

$queryMinDate = getParam("minDate");
if($queryMinDate){
    if($where) $where .= " AND ";
    $where .= " `UpdateTime` >=$queryMinDate";
}

$queryMaxDate = getParam("maxDate");
if($queryMaxDate){
    if($where) $where .= " AND ";
    $where .= " `UpdateTime` <=$queryMaxDate";
}

if($where) $where = " where ".$where;

$sqlTotal = "select count(*) as T from `article` $where";
$conn = new mysqli("localhost","root","","mybolg");
$rs = $conn->query($sqlTotal);
if($conn->error) die($conn->error);
$total = $rs->fetch_assoc()["T"];

$pageCount = ceil($total/$pageSize);
if($pageIndex>$pageCount) $pageIndex = $pageCount;
if($pageIndex<1) $pageIndex = 1;

$startRowNo = $pageSize*($pageIndex-1);

$rows = [];
$rowSql = "select * from `article` $where limit $startRowNo,$pageSize";
//echo $rowSql;
$rs = $conn->query($rowSql);
if($conn->error) die($conn->error);
while($row = $rs->fetch_assoc()){
    $rows[] = $row;
}
//var_dump($rows);



function makePageUrl($i){
    $queryString = "";
    foreach($_GET as $key=>$value){
        if($key === "pageIndex") continue;
        $queryString.="&".urlencode($key)."=".urldecode($value);
    }
    return $queryString;
}

?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
        <title></title>
    </head>
    <body>
        <style type="text/css">
    *{
        font-size:14px;
        padding:0;
        margin:0;
    }
    table{
        border-collapse:collapse;
        background-color:#eee;
        border:1px solid #666;
        width:100%;
    }
    table td,table th{
        padding:6px;
        border-collapse:collapse;
        border:1px solid #ccc;
    }
    table th{
        background-color:#333;
        color:#eee;
    }
    table th div.title{
        width:400px;
    }
    .filter{
        margin:6px 0px;
        color:blue;
    }
    </style>
 
   
            <h3>文章列表</h3>
        <a href="article_add.php">新建文章</a>
        <input type="text" name="Title" id="keyword" value="" />
        <script type="text/javascript">
        document.getElementById("keyword").onblur = function(){
            var key = document.getElementById("keyword").value;
            searchkey(key);
        }

        function searchkey(key,node){
            if(!node)node = document.body;
            for(let i =0,j=node.childNodes.length;i<j;i++){
                let child = node.childNodes[i];
                let val = child.nodeValue;
                if(!val){
                    if(child.childNodes && child.childNodes.length){
                        searchkey(key,child);
                    }else continue;
                }else{
                    var haskey = val.indexOf(key)>=0;
                    if(haskey) node.style.boder = "1px solid red";
                }
            }
        }
        </script>
        <form action="" class="filter" id="form" method = "GET">
            <span>
                <label>标题</label>
                <input type="text" name="Title" id="Title" value="<?=$queryTitle?>"/>
            </span>
            <span>
                <label>作者</label>
                <input type="text" name="Author" id="Author" value="<?=$queryAuthor?>" />
            </span>
            <span>
                <label>时间</label>
                <input type="text" name="minDate" value="<?=$queryMinDate?>" />
                <input type="text" name="maxDate" value="<?=$queryMaxDate?>" />
            </span>
            <input type="submit" name="submit" value="搜索"/>
        </form>
        <script type="text/javascript">

        function jumpTo(pageIndex){
            var url = "?";
            var form = document.getElementById("form");
            var data = getdata(form,{});
            for(var n in data){
                url += "&"+ n + "=" + data[n];
            }
            url += "&pageIndex=" + pageIndex;
            location.href = url;
        }

        function getData(form,data){
            for(let i=0,j=form.childNodes.length;i<j;i++){
                let child = form.childNodes[i];
                if(child.tagName=="INPUT") data[child.name] = child.value;
                if(child.childNodes && child.childNodes.length) getData(child,data);
            }
            return data;
        }
        </script>
        

        <table border="1" >
            <thead>
                <tr>
                    <th><div calss="title">标题</div></th>
                    <th>作者</th>
                    <th>时间</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach($rows as $row){?>
                <tr>
                    <td> 
                        <?=$row["Title"]?></a>  
                    </td>
                    <td> 
                        <?=$row["AuthorName"]?> 
                    </td>
                    <td> 
                        <?=$row["UpdateTime"]?> <br />
                        <?=$row["CreateTime"]?>
                    </td>
                    <td>                    
                        <a href="art_detail.php?Id=<?=$row["id"]?>">详细</a>
                        <a href="art_modify.php?Id=<?=$row["id"]?>">修改</a>
                        删除
                    </td>
                </tr>
                <?php } ?>
            </tbody>
            <tfoot>
                <tr>
                    <td colspan="4">
                        共<?=$total ?>条记录，一共<?=$pageCount?>页，当前为
                        <input type="text" value="<?=$pageIndex?>" onblur="jumpTo(this,value)"/>页
                        <a href="art_list.php?<?=makePageUrl(1)?>">首页</a><
                        <?php for($i=1;$i<=$pageCount;$i++) {?>
                            <a href="art_list.php?<?=makePageUrl($i)?>"><?=$i ?></a>
                        <?php } ?>>

                        <a href="art_list.php?<?=makePageUrl($pageCount)?>">尾页</a>
                    </td>
                </tr>
            </tfoot>
        </table>
    </body>
</html>